100 'progr.12  GRAFIEK VAN DE FUNCTIE R*COS(4*PHI)
110 CLEAR ,19202 : SCREEN 105,,3,3
120 DEF FNX(X)=INT(1.55*(50+X)+.5)
130 CLS: KEY OFF
140 U=160 : V=160 : H=.5 : RD=4*ATN(1)/180
150 K=160 : P=0 : GOSUB 1000
160 X1=INT(U+K*R*COS(P)+H):Y1=INT(V-K*R*SIN(P)+H)
170 FOR W=1 TO 360 STEP 2
180 	P=W*RD : GOSUB 1000
190		X2=INT(U+K*R*COS(P)+H)
200		Y2=INT(V-K*R*SIN(P)+H)
210 	LINE (FNX(X1),Y1) - (FNX(X2),Y2),1
220 	X1=X2 : Y1=Y2
230 NEXT W
240 A$=INKEY$: IF A$="" THEN 240
250 CLS: KEY ON: END
1000 R=COS(4*P)
1010 RETURN



Private Function PoolVorm(ByVal P As Single) As Single
	Dim R As Single = Math.Cos(4 * P)
	Return R
End Function

Private Sub frmProg12_Paint(...) Handles MyBase.Paint
	Dim U As Single = 160, V As Single = 160, H As Single = 0.5
	Dim RD As Single = 4 * Math.Atan(1) / 180
	Dim K As Single = 160, P As Single = 0
	Dim R As Single = PoolVorm(P)
	Dim X1 As Single = Int(U + K * R * Math.Cos(P) + H)
	Dim Y1 As Single = Int(V - K * R * Math.Sin(P) + H)
	For W As Integer = 1 To 360 Step 2
		P = W * RD : R = PoolVorm(P)
		Dim X2 As Single = Int(U + K * R * Math.Cos(P) + H)
		Dim Y2 As Single = Int(V - K * R * Math.Sin(P) + H)
		e.Graphics.DrawLine(Pens.Black, X1, Y1, X2, Y2)
		X1 = X2 : Y1 = Y2
	Next
End Sub

